#pragma once
#include <arpa/inet.h>
#include <netinet/in.h>
#include <string>

class InetAddress
{
public:
    static const std::string defaultIp;

public:
    // 只需要port // 服务器
    InetAddress(uint16_t port);
    InetAddress(const sockaddr_in addr);
    InetAddress();
    ~InetAddress();

    const char *ip() const; // 返回字符串表示的地址，例如：192.168.150.128
    uint16_t port() const;  // 返回整数表示的端口，例如：80、8080
    sockaddr *addr() const; // 返回addr_成员的地址，转换成了sockaddr。
    // sockaddr_in getSockAddr_in() const;
    void setaddr(struct sockaddr_in addr);
    //
private:
    struct sockaddr_in addr_;
};